package ar.edu.unrn.lia.dao.impl;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.inject.Named;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;

import ar.edu.unrn.lia.dao.CiudadDAO;
import ar.edu.unrn.lia.generic.GenericDaoJpaImpl;
import ar.edu.unrn.lia.model.Ciudad;

@Named("ciudadDAO")
public class CiudadDAOImpl extends GenericDaoJpaImpl<Ciudad, Long> implements
		CiudadDAO, Serializable {

	public Predicate[] getSearchPredicates(Root<Ciudad> root,
			Map<String, String> filters) {

		CriteriaBuilder builder = this.entityManager.getCriteriaBuilder();
		List<Predicate> predicatesList = new ArrayList<Predicate>();
		root.alias("entity");

		String descripcion = filters.get("descripcion");
		if (descripcion != null && !"".equals(descripcion)) {
			predicatesList.add(builder.like(root.<String> get("descripcion"),
					'%' + descripcion + '%'));
		}
		
		
		return predicatesList.toArray(new Predicate[predicatesList.size()]);
	}

}